A Tunnel is connection between two networks through which messages are passed from one network to the other. Typically a tunnel is an application level routing method unlike a gateway which modifies the addresses in the protocol. In the case of FreeProxy, it is possible to tunnel any TCP traffic from one network to another. The source of the tunnel is any client that can connect to one of the port definitions defined using the PORT option. On receipt of the tunnel traffic from the client, FreeProxy will redirect the traffic, unchanged to the server specified as the "proxy". Freeproxy v1 was a pure tunnel. No interpretation of the message was done. V2 did some examination of the message to all URL filtering. V3 has implemented this form of tunnelling as well as and HTTP proxy. The SMTP, POP and 'None' protocols in the port definitions actually are implemented as tunnels.
A computer must "listen" on unique port numbers. A port is claimed by a program on a first-come-first-served basis. If you are running other software in your computer which uses any of the ports you have specified for use by FreeProxy, FreeProxy will not be able start.
If FreeProxy encouters a problem, it will output error messages.
Reading Parameters from 'd:\freeproxy\test.cfg'
Fri 14 Mar 2003 17:21:18 : #10048: WSAEADDRINUSE: Address already in use. Function: bind()
Fri 14 Mar 2003 17:21:18 : #1003: Startup: Error attempting to listen on port
8080. Check whether other copies of this program are running.
Note: to see these errors, you trace level must be set to "Warnings" or "Full Trace". Further you must either log these to the screen by running FreeProxy in Console Mode or have defined a log file to receive the messages.
To verify the port assignments currently being used in your system use the netstat command from the command line as follows:
H:\>netstat -a
Active Connections
Proto Local Address Foreign Address State
TCP MYSERVER01:epmap MYSERVER01:0 LISTENING
TCP MYSERVER01:microsoft-ds MYSERVER01:0 LISTENING
TCP MYSERVER01:25 MYSERVER01:0 LISTENING
TCP MYSERVER01:110 MYSERVER01:0 LISTENING
TCP MYSERVER01:8080 MYSERVER01:0 LISTENING
You can see a list of all the listening ports currently being used by your computer. Select one that is not being used.
FTP sites can be accessed via FreeProxy. Often, a link might direct the browser to the FTP site in which can the URL is filled in for you. To access the site yourself, you can fill in the URL as follows
ftp://<user>:<password>@<ftp site>:<port>
this is standard used by many browsers.
<user>, <password> and <port> are optional.
For example:
ftp://tomasra:mypass1@alpharand.com
ftp://ftp.microsoft.com:21 (which is functionally equivalent
to ftp://ftp.microsoft.com)
Timeout values you find in the Port and FreeWeb Definition help to ensure that the FreeProxy does not "hang", waiting for communication events such as waiting endlessly for a connection to be made. At some point a decision has to be made that the remote system is either not available or has itself stopped responding. This is therefore a form of communication safety valve.
A connection timeout is the amount of time FreeProxy will wait for the remote computer to honour the connection request. The read/write timeout is the number of seconds that FreeProxy/FreeWeb will wait for the remote system to accept data from the proxy/web server or the number of seconds to wait for the remote to supply data. If either of these timeouts are exceeded, then the connection is closed and FreeProxy moves on.
On a fast network (intranet), communication events are likely to occur quicker than they would over a slow network to a remote computer via many hops. The advantage of setting the timeout value to a smaller number is that on average the software will start fewer connections, and use less resources that allowing it to wait for longer periods for errant servers to respond.
For an intranet, a connection time of 10 seconds and a read/write time of 5 seconds is typical.
On the internet, a connection time of 20 seconds and read/write time of 10 seconds would normally retrieve pages without side-effects.
If you find that your web page has errors, try increasing the timeout values individually.
A server is usually addressed by more than one IP address. Each physical network interface is assigned an IP address, each dialup connection is allocated an IP address and any other virtually defined interfaces are also assigned IP addresses. It is not unusual for a server to have more than one IP address.
You can use the IPConfig command from the command prompt to determine the IP addresses on your system, for example
C:\>ipconfig /all
Windows 2000 IP Configuration
Host Name . . . . . . . . . . . . : SERVER01
Primary DNS Suffix . . . . . . . : alpharand.net
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : alpharand.net
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : SURECOM EP-320X-R 100/10/M PCI Adapter
Physical Address. . . . . . . . . : 02-32-43-41-DE-51
DHCP Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.10.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
DNS Servers . . . . . . . . . . . : 192.168.10.1
Ethernet adapter {6ABCD916-6567-4D65-B340-A3CCCD4C7D75}:
Connection-specific DNS Suffix . : somewhere.com
Description . . . . . . . . . . . : NOC Extranet Access Adapter
Physical Address. . . . . . . . . : 84-65-53-53-12-00
DHCP Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 0.0.0.0
Subnet Mask . . . . . . . . . . . : 0.0.0.0
Default Gateway . . . . . . . . . :
DNS Servers . . . . . . . . . . . :
PPP adapter myISP 56k:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : WAN (PPP/SLIP) Interface
Physical Address. . . . . . . . . : AA-AA-AA-CC-03-20
DHCP Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 200.162.134.23
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . . : 200.162.134.0
DNS Servers . . . . . . . . . . . : 134.34.143.222
201.223.120.22
NetBIOS over Tcpip. . . . . . . . : Disabled
The above listing shows 3 interfaces on IP addresses, 192.168.10.1, 0.0.0.0 and 200.162.134.23. FreeProxy will only list those which are non-zero ( 192.168.10.1 and 200.162.134.23).
The local binding feature enables you to request that FreeProxy (and FreeWeb) either listens on all Interfaces (all 3 above) or only on one of them.
If you select 'all', (by leaving the check box Use Local Binding unchecked), then anyone can connect to your server. Typically, you would want to check this box, and select a specific IP address for any of the proxy servers. Further, you would want to select only those users on the local network (intranet) and not allow users from the internet to connect to your proxy. You would also want to check this box if you were setting up an intranet web server and did not want outside users to access your web server. This is a strong security feature. Otherwise, to define a web server that is available to the whole world, leave this check box, unchecked.
Note: For servers that use this feature (by checking the check box and selecting an IP address), you should allocate a fixed IP address rather than obtain a DHCP lease. If you have used DHCP to obtain your IP address, and the lease expires and a new IP address is allocated, FreeProxy will still only know of the last IP address you selected and will no longer work with the selected parameters if your system's IP address has changed. The best use of this feature is with a fixed IP address on a physical network card, or on a permanently allocated IP address.